﻿Imports PTIC_GestionBDD
Imports Actuariat
Imports PTIC_Util
Imports System.Data
Imports OMANE.Common.Model.Interfaces
Imports OMANE.Common.Model.Parametrage

Public Class InputMoteurEcheancier
    Inherits PTIC_Util.BaseNotifyPropertyChangeComponentModel
    Implements IInputMoteurEcheancier

#Region "Constructeur"
    Public Sub New(ByVal TxNominalPretMens As Double, _
               ByVal CapitalInitialPret As Double, _
               ByVal DureePretMois As Double, _
               ByVal AgeAssureSouscription As Double, _
               ByVal TableMortalite As ITableMortalite, _
               ByVal TableMaintienINCAPINVAL As ITableMaintienINCAPINVAL, _
               ByVal TxRembAntiMens As Double, _
               ByVal NbInitAssures As Double, _
               ByVal TxEntreeINCINV As Double, _
               ByVal TxTaxeINCINV As Double, _
               ByVal TxFG As Double, _
               ByVal TxTechMens As Double, _
               ByVal TarifINCINVMens As Double, _
               ByVal TarifDCMens As Double, _
               ByVal AgeFinINCINV As Double, _
               ByVal AgeFinDC As Double, _
               ByVal TxComPartenaire As Double, _
               ByVal AbtMNO As Double, _
               ByVal AbtPerteRev As Double, _
               ByVal MajSinDC As Double, _
               ByVal MajSinINCINV As Double, _
               ByVal SelectionMedicale As ParametreSelectionMedicale)

        m_txNomMens = TxNominalPretMens
        m_capIni = CapitalInitialPret
        m_DureePretMois = DureePretMois
        m_AgeAssureSouscription = AgeAssureSouscription
        m_TableMortalite = TableMortalite
        m_TableMaintienINCAPINVAL = TableMaintienINCAPINVAL
        m_TxRembAntiMens = TxRembAntiMens
        m_NbInitAssures = NbInitAssures
        m_TxEntreeINCINV = TxEntreeINCINV
        m_TxTaxeINCINV = TxTaxeINCINV
        m_TxFG = TxFG
        m_TxTechMens = TxTechMens
        m_TarifINCINVMens = TarifINCINVMens
        m_TarifDCMens = TarifDCMens
        m_AgeFinINCINV = AgeFinINCINV
        m_AgeFinDC = AgeFinDC
        m_TxComPartenaire = TxComPartenaire
        m_AbtMNO = AbtMNO
        m_AbtPerteRev = AbtPerteRev
        m_MajSinDC = MajSinDC
        m_MajSinINCINV = MajSinINCINV
        m_SelectionMedicale = SelectionMedicale

    End Sub
#End Region

#Region "Taux nominal mensuel du prêt"
    Protected m_txNomMens As Double
    ''' <summary>
    ''' Taux nominal mensuel du prêt
    ''' </summary>
    Public Property TxNomMens As Double Implements IInputMoteurEcheancier.TxNomMens
        Get
            Return m_txNomMens
        End Get
        Set(ByVal value As Double)
            OnPropertyChanging("TxNomMens")
            Dim e As New PropertyChangeEventArgs(Of Double)(TxNomMens, value)
            If e.IsValide Then RaiseEvent TxNomMensChanging(Me, e)
            If e.IsValide Then
                m_txNomMens = e.NewValue
                OnPropertyChanged("TxNomMens")
                RaiseEvent TxNomMensChanged(Me, e)
            End If
        End Set
    End Property
    Public Event TxNomMensChanging As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.TxNomMensChanging
    Public Event TxNomMensChanged As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.TxNomMensChanged
#End Region
#Region "Capital initial"
    Protected m_capIni As Double
    ''' <summary>
    ''' Capital initial
    ''' </summary>
    Public Property CapIni As Double Implements IInputMoteurEcheancier.CapIni
        Get
            Return m_capIni
        End Get
        Set(ByVal value As Double)
            OnPropertyChanging("CapIni")
            Dim e As New PropertyChangeEventArgs(Of Double)(CapIni, value)
            If e.IsValide Then RaiseEvent CapIniChanging(Me, e)
            If e.IsValide Then
                m_capIni = e.NewValue
                OnPropertyChanged("CapIni")
                RaiseEvent CapIniChanged(Me, e)
            End If
        End Set
    End Property
    Public Event CapIniChanging As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.CapIniChanging
    Public Event CapIniChanged As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.CapIniChanged
#End Region
#Region "Durée actuarielle du prêt en mois"
    Protected m_DureePretMois As Integer
    ''' <summary>
    ''' Durée actuarielle du prêt en fin de mois
    ''' </summary>
    Public Property LongueurProj As Integer Implements IInputMoteurEcheancier.LongueurProj
        Get
            Return m_DureePretMois
        End Get
        Set(ByVal value As Integer)
            OnPropertyChanging("LongueurProj")
            Dim e As New PropertyChangeEventArgs(Of Integer)(LongueurProj, value)
            If e.IsValide Then RaiseEvent LongueurProjChanging(Me, e)
            If e.IsValide Then
                m_DureePretMois = e.NewValue
                OnPropertyChanged("LongueurProj")
                RaiseEvent LongueurProjChanged(Me, e)
            End If
        End Set
    End Property
    Public Event LongueurProjChanging As PropertyChangeEventHandler(Of Integer) Implements IInputMoteurEcheancier.LongueurProjChanging
    Public Event LongueurProjChanged As PropertyChangeEventHandler(Of Integer) Implements IInputMoteurEcheancier.LongueurProjChanged
#End Region
#Region "Age initial à la souscription"
    Protected m_AgeAssureSouscription As Double
    ''' <summary>
    ''' Age initial à la souscription
    ''' </summary>
    Public Property AgeInit As Double Implements IInputMoteurEcheancier.AgeInit
        Get
            Return m_AgeAssureSouscription
        End Get
        Set(ByVal value As Double)
            OnPropertyChanging("AgeInit")
            Dim e As New PropertyChangeEventArgs(Of Double)(AgeInit, value)
            If e.IsValide Then RaiseEvent AgeInitChanging(Me, e)
            If e.IsValide Then
                m_AgeAssureSouscription = e.NewValue
                OnPropertyChanged("AgeInit")
                RaiseEvent AgeInitChanged(Me, e)
            End If
        End Set
    End Property
    Public Event AgeInitChanging As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.AgeInitChanging
    Public Event AgeInitChanged As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.AgeInitChanged
#End Region
#Region "Table de mortalité"
    Protected m_TableMortalite As ITableMortalite
    ''' <summary>
    ''' Table de mortalité
    ''' </summary>
    Public Property TableMort As ITableMortalite Implements IInputMoteurEcheancier.TableMort
        Get
            Return m_TableMortalite
        End Get
        Set(ByVal value As ITableMortalite)
            OnPropertyChanging("TableMort")
            Dim e As New PropertyChangeEventArgs(Of ITableMortalite)(TableMort, value)
            If e.IsValide Then RaiseEvent TableMortChanging(Me, e)
            If e.IsValide Then
                m_TableMortalite = e.NewValue
                OnPropertyChanged("TableMort")
                RaiseEvent TableMortChanged(Me, e)
            End If
        End Set
    End Property
    Public Event TableMortChanging As PropertyChangeEventHandler(Of ITableMortalite) Implements IInputMoteurEcheancier.TableMortChanging
    Public Event TableMortChanged As PropertyChangeEventHandler(Of ITableMortalite) Implements IInputMoteurEcheancier.TableMortChanged
#End Region
#Region "Table de maintien en INCAP/INVAL"
    Protected m_TableMaintienINCAPINVAL As ITableMaintienINCAPINVAL
    ''' <summary>
    ''' Table de maintien en INCAP/INVAL
    ''' </summary>
    Public Property TableMaintienINCAPINVAL As ITableMaintienINCAPINVAL Implements IInputMoteurEcheancier.TableMaintienINCAPINVAL
        Get
            Return m_TableMaintienINCAPINVAL
        End Get
        Set(ByVal value As ITableMaintienINCAPINVAL)
            OnPropertyChanging("TableMaintienINCAPINVAL")
            Dim e As New PropertyChangeEventArgs(Of ITableMaintienINCAPINVAL)(TableMaintienINCAPINVAL, value)
            If e.IsValide Then RaiseEvent TableMaintienINCAPINVALChanging(Me, e)
            If e.IsValide Then
                m_TableMaintienINCAPINVAL = e.NewValue
                OnPropertyChanged("TableMaintienINCAPINVAL")
                RaiseEvent TableMaintienINCAPINVALChanged(Me, e)
            End If
        End Set
    End Property
    Public Event TableMaintienINCAPINVALChanging As PropertyChangeEventHandler(Of ITableMaintienINCAPINVAL) Implements IInputMoteurEcheancier.TableMaintienINCAPINVALChanging
    Public Event TableMaintienINCAPINVALChanged As PropertyChangeEventHandler(Of ITableMaintienINCAPINVAL) Implements IInputMoteurEcheancier.TableMaintienINCAPINVALChanged
#End Region
#Region "Taux de remboursements anticipés mensuels"
    Protected m_TxRembAntiMens As Double
    ''' <summary>
    ''' Taux de remboursements anticipés
    ''' </summary>
    Public Property TxRembAntiMens As Double Implements IInputMoteurEcheancier.TxRembAntiMens
        Get
            Return m_TxRembAntiMens
        End Get
        Set(ByVal value As Double)
            OnPropertyChanging("TxRembAntiMens")
            Dim e As New PropertyChangeEventArgs(Of Double)(TxRembAntiMens, value)
            If e.IsValide Then RaiseEvent TxRembAntiMensChanging(Me, e)
            If e.IsValide Then
                m_TxRembAntiMens = e.NewValue
                OnPropertyChanged("TxRembAntiMens")
                RaiseEvent TxRembAntiMensChanged(Me, e)
            End If
        End Set
    End Property
    Public Event TxRembAntiMensChanging As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.TxRembAntiMensChanging
    Public Event TxRembAntiMensChanged As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.TxRembAntiMensChanged
#End Region
#Region "Nombre initial d'assurés"
    Protected m_NbInitAssures As Double
    ''' <summary>
    ''' Nombre initial d'assurés
    ''' </summary>
    Public Property NbInitAssures As Double Implements IInputMoteurEcheancier.NbInitAssures
        Get
            Return m_NbInitAssures
        End Get
        Set(ByVal value As Double)
            OnPropertyChanging("NbInitAssures")
            Dim e As New PropertyChangeEventArgs(Of Double)(NbInitAssures, value)
            If e.IsValide Then RaiseEvent NbInitAssuresChanging(Me, e)
            If e.IsValide Then
                m_NbInitAssures = e.NewValue
                OnPropertyChanged("NbInitAssures")
                RaiseEvent NbInitAssuresChanged(Me, e)
            End If
        End Set
    End Property
    Public Event NbInitAssuresChanging As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.NbInitAssuresChanging
    Public Event NbInitAssuresChanged As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.NbInitAssuresChanged
#End Region
#Region "Taux d'entrée en INCAP/INVAL"
    Protected m_TxEntreeINCINV As Double
    ''' <summary>
    ''' Taux d'entrée en INCAP / INVAL
    ''' </summary>
    Public Property TxEntreeINCINV As Double Implements IInputMoteurEcheancier.TxEntreeINCINV
        Get
            Return m_TxEntreeINCINV
        End Get
        Set(ByVal value As Double)
            OnPropertyChanging("TxEntreeINCINV")
            Dim e As New PropertyChangeEventArgs(Of Double)(TxEntreeINCINV, value)
            If e.IsValide Then RaiseEvent TxEntreeINCINVChanging(Me, e)
            If e.IsValide Then
                m_TxEntreeINCINV = e.NewValue
                OnPropertyChanged("TxEntreeINCINV")
                RaiseEvent TxEntreeINCINVChanged(Me, e)
            End If
        End Set
    End Property
    Public Event TxEntreeINCINVChanging As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.TxEntreeINCINVChanging
    Public Event TxEntreeINCINVChanged As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.TxEntreeINCINVChanged
#End Region
#Region "Taux de taxe INCINV"
    Protected m_TxTaxeINCINV As Double
    ''' <summary>
    ''' Taux de taxe appliqué sur l'INCAPINVAL
    ''' </summary>
    Public Property TxTaxeINCINV As Double Implements IInputMoteurEcheancier.TxTaxeINCINV
        Get
            Return m_TxTaxeINCINV
        End Get
        Set(ByVal value As Double)
            OnPropertyChanging("TxTaxeINCINV")
            Dim e As New PropertyChangeEventArgs(Of Double)(TxTaxeINCINV, value)
            If e.IsValide Then RaiseEvent TxTaxeINCINVChanging(Me, e)
            If e.IsValide Then
                m_TxTaxeINCINV = e.NewValue
                OnPropertyChanged("TxTaxeINCINV")
                RaiseEvent TxTaxeINCINVChanged(Me, e)
            End If
        End Set
    End Property
    Public Event TxTaxeINCINVChanging As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.TxTaxeINCINVChanging
    Public Event TxTaxeINCINVChanged As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.TxTaxeINCINVChanged
#End Region
#Region "Taux de frais de gestion"
    Protected m_TxFG As Double
    ''' <summary>
    ''' Taux de frais de gestion appliqué sur les primes
    ''' </summary>
    Public Property TxFG As Double Implements IInputMoteurEcheancier.TxFG
        Get
            Return m_TxFG
        End Get
        Set(ByVal value As Double)
            OnPropertyChanging("TxFG")
            Dim e As New PropertyChangeEventArgs(Of Double)(TxFG, value)
            If e.IsValide Then RaiseEvent TxFGChanging(Me, e)
            If e.IsValide Then
                m_TxFG = e.NewValue
                OnPropertyChanged("TxFG")
                RaiseEvent TxFGChanged(Me, e)
            End If
        End Set
    End Property
    Public Event TxFGChanging As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.TxFGChanging
    Public Event TxFGChanged As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.TxFGChanged
#End Region
#Region "Taux technique mensuel"
    Protected m_TxTechMens As Double
    ''' <summary>
    ''' Taux technique
    ''' </summary>
    Public Property TxTechMens As Double Implements IInputMoteurEcheancier.TxTechMens
        Get
            Return m_TxTechMens
        End Get
        Set(ByVal value As Double)
            OnPropertyChanging("TxTechMens")
            Dim e As New PropertyChangeEventArgs(Of Double)(TxTechMens, value)
            If e.IsValide Then RaiseEvent TxTechMensChanging(Me, e)
            If e.IsValide Then
                m_TxTechMens = e.NewValue
                OnPropertyChanged("TxTechMens")
                RaiseEvent TxTechMensChanged(Me, e)
            End If
        End Set
    End Property
    Public Event TxTechMensChanging As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.TxTechMensChanging
    Public Event TxTechMensChanged As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.TxTechMensChanged
#End Region
#Region "Tarif INCAP/INVAL Mens"
    Protected m_TarifINCINVMens As Double
    ''' <summary>
    ''' Tarif mensuel de l'INCAP/INVAL en % du CI
    ''' </summary>
    Public Property TarifINCINVMens As Double Implements IInputMoteurEcheancier.TarifINCINVMens
        Get
            Return m_TarifINCINVMens
        End Get
        Set(ByVal value As Double)
            OnPropertyChanging("TarifINCINVMens")
            Dim e As New PropertyChangeEventArgs(Of Double)(TarifINCINVMens, value)
            If e.IsValide Then RaiseEvent TarifINCINVMensChanging(Me, e)
            If e.IsValide Then
                m_TarifINCINVMens = e.NewValue
                OnPropertyChanged("TarifINCINVMens")
                RaiseEvent TarifINCINVMensChanged(Me, e)
            End If
        End Set
    End Property
    Public Event TarifINCINVMensChanging As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.TarifINCINVMensChanging
    Public Event TarifINCINVMensChanged As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.TarifINCINVMensChanged
#End Region
#Region "Tarif DC Mens"
    Protected m_TarifDCMens As Double
    ''' <summary>
    ''' Tarif mensuel de la garantie DC en % du CI
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Property TarifDCMens As Double Implements IInputMoteurEcheancier.TarifDCMens
        Get
            Return m_TarifDCMens
        End Get
        Set(ByVal value As Double)
            OnPropertyChanging("TarifDCMens")
            Dim e As New PropertyChangeEventArgs(Of Double)(TarifDCMens, value)
            If e.IsValide Then RaiseEvent TarifDCMensChanging(Me, e)
            If e.IsValide Then
                m_TarifDCMens = e.NewValue
                OnPropertyChanged("TarifDCMens")
                RaiseEvent TarifDCMensChanged(Me, e)
            End If
        End Set
    End Property
    Public Event TarifDCMensChanging As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.TarifDCMensChanging
    Public Event TarifDCMensChanged As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.TarifDCMensChanged
#End Region
#Region "Age fin INC/INV"
    Protected m_AgeFinINCINV As Double
    ''' <summary>
    ''' Age de fin de la garantie INCAP / INVAL
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Property AgeFinINCINV As Double Implements IInputMoteurEcheancier.AgeFinINCINV
        Get
            Return m_AgeFinINCINV
        End Get
        Set(ByVal value As Double)
            OnPropertyChanging("AgeFinINCINV")
            Dim e As New PropertyChangeEventArgs(Of Double)(AgeFinINCINV, value)
            If e.IsValide Then RaiseEvent AgeFinINCINVChanging(Me, e)
            If e.IsValide Then
                m_AgeFinINCINV = e.NewValue
                OnPropertyChanged("AgeFinINCINV")
                RaiseEvent AgeFinINCINVChanged(Me, e)
            End If
        End Set
    End Property
    Public Event AgeFinINCINVChanging As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.AgeFinINCINVChanging
    Public Event AgeFinINCINVChanged As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.AgeFinINCINVChanged
#End Region
#Region "Age fin DC"
    Protected m_AgeFinDC As Double
    ''' <summary>
    ''' Age de fin de la garantie DC
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Property AgeFinDC As Double Implements IInputMoteurEcheancier.AgeFinDC
        Get
            Return m_AgeFinDC
        End Get
        Set(ByVal value As Double)
            OnPropertyChanging("AgeFinDC")
            Dim e As New PropertyChangeEventArgs(Of Double)(AgeFinDC, value)
            If e.IsValide Then RaiseEvent AgeFinDCChanging(Me, e)
            If e.IsValide Then
                m_AgeFinDC = e.NewValue
                OnPropertyChanged("AgeFinDC")
                RaiseEvent AgeFinDCChanged(Me, e)
            End If
        End Set
    End Property
    Public Event AgeFinDCChanging As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.AgeFinDCChanging
    Public Event AgeFinDCChanged As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.AgeFinDCChanged
#End Region
#Region "Tx Com Partenaire"
    Protected m_TxComPartenaire As Double
    ''' <summary>
    ''' Taux garanti du partenaire
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Property TxComPartenaire As Double Implements IInputMoteurEcheancier.TxComPartenaire
        Get
            Return m_TxComPartenaire
        End Get
        Set(ByVal value As Double)
            OnPropertyChanging("TxComPartenaire")
            Dim e As New PropertyChangeEventArgs(Of Double)(TxComPartenaire, value)
            If e.IsValide Then RaiseEvent TxComPartenaireChanging(Me, e)
            If e.IsValide Then
                m_TxComPartenaire = e.NewValue
                OnPropertyChanged("TxComPartenaire")
                RaiseEvent TxComPartenaireChanged(Me, e)
            End If
        End Set
    End Property
    Public Event TxComPartenaireChanging As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.TxComPartenaireChanging
    Public Event TxComPartenaireChanged As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.TxComPartenaireChanged
#End Region
#Region "Abattement MNO"
    Protected m_AbtMNO As Double
    ''' <summary>
    ''' Taux d'abattement appliqué en raison des maladies non objectivables
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Property AbtMNO As Double Implements IInputMoteurEcheancier.AbtMNO
        Get
            Return m_AbtMNO
        End Get
        Set(ByVal value As Double)
            OnPropertyChanging("AbtMNO")
            Dim e As New PropertyChangeEventArgs(Of Double)(AbtMNO, value)
            If e.IsValide Then RaiseEvent AbtMNOChanging(Me, e)
            If e.IsValide Then
                m_AbtMNO = e.NewValue
                OnPropertyChanged("AbtMNO")
                RaiseEvent AbtMNOChanged(Me, e)
            End If
        End Set
    End Property
    Public Event AbtMNOChanging As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.AbtMNOChanging
    Public Event AbtMNOChanged As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.AbtMNOChanged
#End Region
#Region "Abattement perte de revenus"
    Protected m_AbtPerteRev As Double
    ''' <summary>
    ''' Abattement lié aux clauses sur la Perte de Revenus
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Property AbtPerteRev As Double Implements IInputMoteurEcheancier.AbtPerteRev
        Get
            Return m_AbtPerteRev
        End Get
        Set(ByVal value As Double)
            OnPropertyChanging("AbtPerteRev")
            Dim e As New PropertyChangeEventArgs(Of Double)(AbtPerteRev, value)
            If e.IsValide Then RaiseEvent AbtPerteRevChanging(Me, e)
            If e.IsValide Then
                m_AbtPerteRev = e.NewValue
                OnPropertyChanged("AbtPerteRev")
                RaiseEvent AbtPerteRevChanged(Me, e)
            End If
        End Set
    End Property
    Public Event AbtPerteRevChanging As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.AbtPerteRevChanging
    Public Event AbtPerteRevChanged As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.AbtPerteRevChanged
#End Region
#Region "Majoration sinistres DC"
    Protected m_MajSinDC As Double
    ''' <summary>
    ''' Taux de majoration des sinistres DC lié aux fluctuations des montants autour de leur moyenne
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Property MajSinDC As Double Implements IInputMoteurEcheancier.MajSinDC
        Get
            Return m_MajSinDC
        End Get
        Set(ByVal value As Double)
            OnPropertyChanging("MajSinDC")
            Dim e As New PropertyChangeEventArgs(Of Double)(MajSinDC, value)
            If e.IsValide Then RaiseEvent MajSinDCChanging(Me, e)
            If e.IsValide Then
                m_MajSinDC = e.NewValue
                OnPropertyChanged("MajSinDC")
                RaiseEvent MajSinDCChanged(Me, e)
            End If
        End Set
    End Property
    Public Event MajSinDCChanging As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.MajSinDCChanging
    Public Event MajSinDCChanged As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.MajSinDCChanged
#End Region
#Region "Majoration sinistres INC/INV"
    Protected m_MajSinINCINV As Double
    ''' <summary>
    ''' Taux de majoration des sinistres INCINV lié aux fluctuations des montants autour de leur moyenne
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Property MajSinINCINV As Double Implements IInputMoteurEcheancier.MajSinINCINV
        Get
            Return m_MajSinINCINV
        End Get
        Set(ByVal value As Double)
            OnPropertyChanging("MajSinINCINV")
            Dim e As New PropertyChangeEventArgs(Of Double)(MajSinINCINV, value)
            If e.IsValide Then RaiseEvent MajSinINCINVChanging(Me, e)
            If e.IsValide Then
                m_MajSinINCINV = e.NewValue
                OnPropertyChanged("MajSinINCINV")
                RaiseEvent MajSinINCINVChanged(Me, e)
            End If
        End Set
    End Property
    Public Event MajSinINCINVChanging As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.MajSinINCINVChanging
    Public Event MajSinINCINVChanged As PropertyChangeEventHandler(Of Double) Implements IInputMoteurEcheancier.MajSinINCINVChanged
#End Region
#Region "Sélection médicale"
    Public Property SelectionMedicale As ParametreSelectionMedicale Implements IInputMoteurEcheancier.SelectionMedicale
        Get
            Return m_SelectionMedicale
        End Get
        Set(ByVal value As ParametreSelectionMedicale)
            OnPropertyChanging("SelectionMedicale")
            Dim e As New PropertyChangeEventArgs(Of ParametreSelectionMedicale)(SelectionMedicale, value)
            If e.IsValide Then RaiseEvent SelectionMedicaleChanging(Me, e)
            If e.IsValide Then
                m_SelectionMedicale = e.NewValue
                OnPropertyChanged("SelectionMedicale")
                RaiseEvent SelectionMedicaleChanged(Me, e)
            End If
        End Set
    End Property
    Private m_SelectionMedicale As ParametreSelectionMedicale
    Public Event SelectionMedicaleChanging As PropertyChangeEventHandler(Of ParametreSelectionMedicale) Implements IInputMoteurEcheancier.SelectionMedicaleChanging
    Public Event SelectionMedicaleChanged As PropertyChangeEventHandler(Of ParametreSelectionMedicale) Implements IInputMoteurEcheancier.SelectionMedicaleChanged
#End Region

End Class
